Integrated fuel dispensing and accounting system

ABSTRACT

An interface system extends a prior-art multi-pump fuel delivery station so that authorization to activate the fuel delivery pump can be obtained from a remote authorization service over a long-range wireless communication link such as a cellular telephone connection or a satellite connection; and delivered to the interface system over a different, short-range wireless communication link such as a Bluetooth® connection or a WiFi connection. After receiving the authorization, a signal to activate a fuel delivery pump is transmitted to a physically separate pump control module over an electrical power line by being coupled onto the power line by a first power line interface, and coupled back off of the power line by a second power line interface. The signal causes the physically separate pump to start or stop operation.

CONTINUITY AND CLAIM OF PRIORITY

This is a U.S. non-provisional patent application filed under 35 U.S.C. § 111(a) as a continuation in part of U.S. patent application Ser. No. 16/244,004 filed 9 Jan. 2019, now U.S. patent Ser. No. 10,417,722, which was a continuation in part of U.S. patent application Ser. No. 14/998,150 filed 23 Dec. 2015, now U.S. Pat. No. 10,210,696B2. Applicants claim priority under 35 U.S.C. § 120 to the earlier applications.

FIELD

The invention relates to wireless communication systems for obtaining authorization to activate a vending or dispensing system when certain conditions have been satisfied or preapproval given, and for reporting information about the product sold or dispensed upon such activation.

BACKGROUND

In the centuries (give or take) since the development of the liquid-fueled internal combustion engine and vehicles based thereupon, a vast supporting infrastructure of fuel production, refinement, distribution and sales has grown up. Some portions of the infrastructure are very familiar to residents of industrialized countries: almost everyone has at least a general understanding of how petroleum-based fuels are extracted, refined, delivered to local filling stations, pumped into vehicles and paid for. However, there are many non-standard niches in the infrastructure—for example, for unusual fuels such as hydrogen, propane, liquid natural gas, kerosene or alcohol—and for delivery outside standard retail fueling stations.

One significant, if unfamiliar, niche is fleet fueling: the provision of fuels to a fleet of commonly-owned and—operated vehicles, where an individual vehicle “fill-up” may not correspond with a single commercial transaction. Instead, the fleet operator may purchase a large quantity of fuel and deliver it to its vehicles through one or more private pumping stations. Nevertheless, even if these pumps do not perform an individual commercial transaction (e.g., by accepting cash or by submitting a credit-card authorization) they often must verify that the vehicle is authorized to obtain fuel from the station, or report fuel dispensing so that replacement stock can be ordered and delivered before the tanks run dry.

A system that provides improved connectivity and reduced cost for non-consumer/non-retail fueling stations may be of significant value in this field.

SUMMARY

Embodiments of the invention comprise general-purpose computing hardware configured with software to perform a communications-interface function, and coupled with special-purpose electronic or electromechanical hardware to control a prior-art “dumb” fuel-dispensing pump according to a new control and communications procedure. Portions of an embodiment may usefully be separated into modules that communicate over existing power wiring installed at a service location.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of an embodiment, showing functional units and their interconnections with the complete system within which the embodiment operates.

FIGS. 2A and 2B are flow charts showing cooperating interactions between two portions of an embodiment.

FIG. 3 is a flow chart of additional operations an expanded embodiment may perform.

FIG. 4 is a flow chart showing another mode of operation of an embodiment.

FIG. 5 is a block diagram of a practical embodiment of the invention.

FIG. 6 is a system diagram illustrating how a device participating in an embodiment may be exchanged for a different device which fulfills the same role.

FIG. 7 is a system drawing illustrating how a device participating in an embodiment may be remotely deactivated.

FIG. 8 is a system drawing illustrating how a device participating in an embodiment may used to report a previously recorded transaction back to the remote server.

FIG. 9 is a block diagram of another embodiment, showing how portions of a hardware configuration may beneficially be separated into cooperating sub-components.

FIG. 10 is a block diagram of another embodiment, showing how separated subcomponents of a system can use power-line data transmission to communicate with each other.

DETAILED DESCRIPTION

Embodiments of the invention are add-on modules that extend the capabilities of prior-art fuel dispensing pumps to include authorization to operate and, in some embodiments, reporting of quantity dispensed and other information. Some embodiments may comprise a complete fuel-dispensing system, including pumps, hoses, nozzles and tanks.

FIG. 1 shows a block diagram including elements of an embodiment and its surrounding environment. The simplest embodiment 100 includes a short-range wireless transceiver 103, an electronically-controlled switch 105 and a computing device 107 to coordinate the operations of the transceiver 103 and switch 105 according to a set of instructions and data discussed below. Simple embodiment 100 may be coupled to an existing fuel pump 113 and reservoir 115, or a more complete system 120 according to the invention may include all of wireless transceiver 103, switch 105, computing device 107, fuel pump 113 and reservoir 115.

An embodiment (100 or 120) interacts with a separate portable communication device 130 that is brought into communication with the embodiment by a user 140, who may operate the combined system to obtain fuel for a vehicle 150. The embodiment (100 or 120) communicates with the portable communication device 130 to authorize and/or account for fuel dispensed. The communication device 130 may have access to a broader distributed data network 160 such as the Internet, and the embodiment may use this access to communicate with a remote server for authentication, accounting or other data-exchange purposes.

It is appreciated that a traditional fueling station may include many similar elements: a reservoir 115, pump 113, switch 105 and computing device 107; and some mechanism for communicating with a remote site for authorizing payment. However, such systems are typically comprised of a fixed set of components, whereas in an embodiment, the portable data communications device 130 with which the embodiment communicates is brought to the site by a user and carried away by the user. A different user will bring a different data communications device, and the embodiment will use this second, different device instead of the first. An embodiment may not operate at all if the user fails to bring a portable data communication device, or it may only operate in a limited-functionality fallback mode. For example, in an autonomous fueling station, if no data communication device is available, fuel may only be provided to individuals who have a mechanical key to operate a physical lock, or who have a secret code or PIN to activate the pump.

The data communication device provides a (possibly asynchronous) data link, allowing information to travel between the fueling station and a distant control & operations center. Since the customer or consumer supplies the communication device, the fueling station need not include such capabilities itself and its cost may be reduced. In addition, in certain modes, the communication device can provide a time-shifting function so that operations can proceed even though long-range data communications (via, e.g., a cellular telephone network) are not available at a remote fueling-station location where the embodiment is deployed.

FIGS. 2A and 2B are flow charts outlining operations of cooperating portions of an embodiment of the invention. FIG. 2A describes the activities of the “fueling station” portion, while FIG. 2B describes the activities of the “consumer” portion.

Initially, both portions are in an idle state. When the consumer portion comes within range of the short-range wireless transceivers of an embodiment, a connection is established (200, 205). Either side may initiate the connection. A preferred wireless connection is a Bluetooth® connection. Other suitable connections are WiFi and infrared. Preferably, the connection is low power, has a range less than about 20 m, and uses hardware features that are widely available on common portable data communication devices such as cellular telephones, tablets, personal digital assistants (PDAs) and laptop computers.

Once a short-range connection is established, the fueling station solicits a vending authorization from the connected portable data communication device (210). The communication device receives this request (220) and establishes a separate wireless connection (230) with a remote server whose operations are not shown here. The communication device receives a vending authorization from the remote server via the separate wireless connection (240) and delivers the authorization to the fueling station via the short-range connection (250).

The fueling station receives the authorization (260) and checks it for validity (270). If it is valid (273), then a signal is given to a vending mechanism, causing it to deliver product to the consumer. For example, an embodiment may close an electronically-activated switch (105) that energizes a pump (113) to deliver fuel from a reservoir (115). If the authorization is invalid (276), then the fueling station may repeat the attempt to obtain a vending authorization (210) or simply terminate the transaction. When a transaction is completed (either successfully or unsuccessfully), the data connection over the short-range wireless communication link is terminated.

It is important in an embodiment that the functions of the consumer portion (i.e., those of FIG. 2B) may be performed by different devices. That is, not only should two different individuals' cell phones operate satisfactorily in this role, but one individual's laptop computer should be able to replace another individual's cell phone.

The consumer role is typically implemented by data and instructions to cause a programmable processor to perform the operations described. The programmable processor is typically a component of a consumer's portable communication device, which may be a cell phone, satellite phone, PDA, or other device having suitable capabilities. For example, some vehicles now include both short-range wireless connectivity (e.g., Bluetooth® or WiFi) and satellite or cellular connectivity. Such a vehicle—equipped with suitable software—would be able to participate in an embodiment.

It is appreciated that the operations by which the consumer device obtains the vending authorization (i.e., 230 & 240) may be performed asynchronously with the operations of delivering such authorization to the fueling station. For example, in a remote location where a separate wireless connection cannot be established, the consumer's portable communication device may deliver a previously-acquired vending authorization via the short-range wireless connection.

FIG. 3 is a flow chart showing operations of a more-sophisticated fueling-station embodiment. (The consumer portion interacts as described here, but its operations are not depicted in the flow chart.)

As before, a short-range wireless communication channel is established (200). The vending authorization is solicited (210) and received (260), and if it is valid, the vending mechanism is signaled to dispense the product (280). This embodiment also monitors the product being dispensed (300). For example, it may measure a number of gallons of liquid fuel delivered by the pump or cubic feet of gas permitted to exit a pressurized tank. Other information may also be collected: time of day, environmental conditions, system status, reservoir state, and so on. This information may be reported to the portable data communication device over the short-range wireless connection (310). The data communication device may in turn report the information to a central operations server immediately, or later when a long-range communication channel becomes available. To prevent tampering with the report from the fueling station, the reported data may be signed with a cryptographic hash to prevent undetected alteration, or the entire report may be encrypted.

An embodiment may also include a provisioning function, as outlined in FIG. 4. Again, a short-range wireless communication channel is established (200), but in this sequence of operations, the computing device enters a provisioning mode (400), perhaps as a result of receiving such a command from the connected portable communication device. The embodiment may request an amount of product to be delivered (410) and/or be informed of the amount the provisioner will deliver (420).

The vending mechanism is signaled to receive product (430). For example, a two-way electronically controlled switch may be activated to operate a pump in reverse, transferring liquid fuel from a delivery tank into the storage reservoir. The computing device may monitor the product thus delivered (440) and report the results and conditions of delivery via the short-range wireless communication channel (450). These data may be cryptographically signed and/or encrypted, as before. The delivery results may be transmitted to a central operations server immediately or later by the portable data communications device.

FIG. 5 is a block diagram of an exemplary embodiment of the invention. The heart of the embodiment is a computer processor 500 including a programmable processor, volatile and non-volatile memory, and signaling interfaces to communicate with other modules. The programmable processor operates according to instructions and data stored in the memories to perform methods as outlined in the foregoing flow charts. A microcontroller integrating the processor, memories and input/output (“I/O”) interfaces is a preferred choice for computer processor 500. A microcontroller such as a member of the PIC32MX3xx/4xx series of high-performance MIPS32® M4K® 32-bit RISC processors from manufacturer Microchip Technology Inc. will work well.

Processor 500 can access at least one short-range wireless communication interface. In this figure, both Bluetooth® and WiFi interfaces (510, 520) are shown. This embodiment also includes a user display 530, which may be, for example, an LED or LCD unit. The display can present instructions and status information to a user.

The embodiment includes an electronically-controlled vending switch 540. This may be, for example, a solid-state or electromechanical relay, and it may function as a contact closure device to activate a pump or other dispensing mechanism, or it may itself complete a circuit between a power supply such as a 120 VAC or 240 VAC power source and a pump, electronically-controlled valve or other device that operates using such power. An electromechanical relay such as the TE Connectivity Ltd. T9AS1D12-12 (12V coil, 30 A contacts) is suitable.

The embodiment may also include a volume detection device (a liquid or gas flow meter) 550, or it may only provide an input interface to receive data from an existing flow meter that is part of a larger system where the embodiment is installed. In either case, volume detection device 550 permits the embodiment to acquire information about the amount of product being dispensed.

An embodiment may also include a keypad for entering information, or a mechanical override such as a keyed lock. However, in a preferred embodiment, the system communicates with a data communication device such as a cell phone or PDA over the short-range wireless communication link, and all user input and display functions are performed by cooperating software executing on the data communication device.

Note that the software (data and instructions) controlling computer processor 500 are separate and distinct from the software (data and instructions) that execute on the data communications device. In some embodiments, processor 500 may store a copy of the data communications device software locally, and transmit this software to the data communications device if it is not installed there already. In other embodiments, the consumer-side software may be obtained from a distribution site such as an “app store.” Note also that there are likely to be different implementations of the consumer side software to suit the device(s) on which these programs are intended to execute. For example, an Android® phone would use different software than an Apple® iPhone®. However, either phone—configured with suitable software—could serve as the data communication device in an embodiment because either one would implement the appropriate protocols to interact with computer processor 500.

FIG. 6 is another block diagram showing how two different data communication devices may fill the same role (at different times) in the operation of an embodiment. The fueling station portion of the embodiment 600 is as described previously: a programmable processor 602 controls a short-range wireless transceiver 604 and a switch 606, which in turn controls a pump 608. At various times, fueling station 600 may be in communication with one portable data communication device 610 or a different portable data communication device 620. Each data communication device comprises its own programmable processor 612, 622; a short-range wireless transceiver 614, 624 that can communicate with transceiver 604; a different wireless interface 616, 626 such as a cellular network interface or a satellite interface; and a user interface 618, 628 such as a touch-screen or a screen and keyboard.

Also depicted in this figure are some elements of a control center 630: yet another programmable processor 632, a data interface 635 for communicating over a distributed data network 660 such as the Internet, and a database 637 for storing information about the state and operations of the system.

Each of the programmable processors operates according to data and instructions that cause the processor to perform operations along the lines described above. At some times, processor 602 may communicate with processor 612 over a connection between short-range wireless interfaces 604 and 614, while at other times processor 602 may communicate with processor 624 over a connection between short-range wireless interfaces 604 and 624. In either event, the system can interact with the person who brought the data communication device in range of the short-range wireless interfaces via messages and input on user interface 618 or 628.

The data communication device in use can communicate with programmable processor 632 via its own “different wireless” interface (616 or 626), through the distributed data network 660, and the control center 630's data interface 635. In some situations, data from fueling station 600 may be passed through to control center 630 by one of 610 or 620; or data from control center 630 may be passed back to fueling station 600 in the opposite direction. In particular, when portable data communications device 610 or 620 provides a vending authorization to fueling station 600, it is an example of information being passed from control center 630 to fueling station 600.

Several different data connections are shown in this figure: short-range wireless connections 641 and 642, and a different wireless connection 650 between portable data communications device 610 and control center 630. (Portable data communications device 620 may also communicate with control center 630, but this connection is not indicated in the figure.)

FIG. 7 outlines a method for performing an asynchronous transaction, as mentioned at several points in the foregoing discussion. This method improves system function when the fueling station is located at a place where some or all portable communications devices are unable to provide synchronous communication between the pump and the remote control center. The method depends on a distributed database of user and transaction data that is maintained across participating user devices, the control center, and individual fueling-station components. The database includes information to identify authorized users of the system and past transactions conducted at various fueling stations. The data are preferably opaque to the participating devices. I.e., it should not be possible for a user to modify the data undetectably in order to repeat transactions or perform other operations that would permit unaccounted use of the fueling stations. Standard encryption techniques (including public-key encryption) may be used to accomplish “blinding” (making portions of the database inaccessible to would-be malicious actors).

Each participating device stores some or all of the distributed database, and may provide fragments of its portion of the database to other devices with which it interacts. The remote control center is the ultimate repository of all of the distributed data, but portions of the database make their way to and from user devices and fueling stations by way of inter-device interactions. One important characteristic of the distributed data is that “transaction” records (i.e., records that memorialize a fueling or replenishment operation) are serialized, and provided with a Boolean flag indicating whether the record has been reported to and acknowledged by the remote server. Once a transaction record has been “sync'd,” the other participants in the system may discard their copies of the record.

Turning to the flow chart, a participating user device is brought within range of a fueling station and the devices establish a short-range data communication connection (200). At this time, it is presumed that the user device is unable to provide a data bridge between the fueling station and the remote control center, perhaps because cell service is unavailable. The devices exchange portions of their respective copies of the distributed database (700). For example, the user device might report recently-added users or recently-sync'd transactions to the fueling station, and the fueling station might report recently-completed transactions that have not been sync'd to the control center yet.

Next, the user device attempts to initiate a fueling transaction (710). However, it cannot deliver a fresh authorization, because the remote network connection is unavailable. Therefore, the fueling station must decide whether to permit the transaction on the basis of other information available to it at the current time. (In the previously-disclosed system, the user device might provide an earlier-acquired dispensing authorization, but this may be vulnerable to “double-spend” attacks, where the user device provides the same dispensing authorization to two different fueling stations, each of which is unaware that the authorization has already been used elsewhere.)

To determine whether to allow the user device to continue with the present transaction, the fueling station may refer to one or more of the following conditions:

-   -   The current user device is involved in no more than a         predetermined maximum number of un-sync'd transactions in the         distributed database;     -   The current user device is involved in at least a predetermined         minimum number of sync'd transactions in the distributed         database;     -   All offline (connection-unavailable) transactions (either at a         particular fueling station, by a particular user, or         system-wide) may be disabled by introducing an appropriate         distributed-database record from the control center, which will         be carried to the fueling stations by the user devices.         Preferably, a disabling message targeting one user device, may         be carried by the user device of a different user, to prevent a         malicious user from tampering with or refusing to deliver his         own “disable” message. Offline transactions may be re-enabled         later by a subsequent distributed-database message.

An embodiment may compute a trust score from several records in the distributed database and permit the user device to proceed if the score exceeds a predetermined value. Considerations such as frequency of transactions, location of transactions, size of transactions and/or number of unsync'd transactions may contribute to the score. In a favorable arrangement, distributed-database records provided by other user devices may be accorded greater weight than records provided by the user device that is presently interacting with the fueling station.

At any rate, the fueling station refers to information in its copy of the distributed database and other information available at the time of the current transaction (720) to decide whether to permit the requested transaction. If the decision is positive (733), the fueling station activates the fuel dispensing pump (740) to allow the user-device's owner to obtain product (750). If the decision is negative (736), the devices may discontinue their interaction (790).

If product was dispensed, then information about the transaction (e.g., an unsync'd transaction record) is created (760), stored at the fueling station (770) and provided to the user device (780), where it will be carried back and reported to other system participants through other distributed-database maintenance communications. As in the previously-described system, these transaction records will include information about the amount of fuel dispensed or refilled, rather than “financial” information such as a cost or payment token. (Financial information may also be included, but this is often unnecessary in embodiments.) Other environmental or auxiliary information may also be included in the transaction records.

It is appreciated that the size of the distributed database is relatively modest, by contemporary data-storage standards. Even if the system has records of thousands of users and millions of recent transactions and authorizations, the data is unlikely to be much larger than a few tens of megabytes—about as much as a few full-resolution cell-phone images. Furthermore, because sync'd transactions need not be stored for long, old, stale or no-longer-useful data can be culled to reduce the burden of maintaining the distributed database. In addition, the inter-device communications involved in synchronizing the database between user devices and fueling stations are unlikely to have to exchange full copies of the database—typically, only records that one device or the other lacks are exchanged.

FIG. 8 shows a specific sequence of operations that may occur among devices cooperating in an embodiment like that described generally with reference to FIG. 7. Of course, the same devices may interact differently at other times, depending on the current state and contents of each device's portion of the distributed database. As in other interactions, the method starts when a fueling station and a user device establish a short-range wireless connection (200). At least one database update record is sent from the user device to the fueling station, or from the fueling station to the user device (800). In many interactions, more than one record will be sent, and often, update records will be sent in both directions.

Now, referring to its current copy of its portion of the distributed database as described above (810), the fueling station determines whether the connected user device is currently eligible to use the fueling station. If so (823), then the pump is activated (740) and fuel is dispensed (750). The fueling station creates an unsync'd transaction record (760) and stores it in the fueling station's local copy of the distributed database (870). It may also send the new transaction record to the user device (880) before discontinuing the wireless connection (790). The fueling station will also report this new transaction to other user devices with which it interacts subsequently (890). These subsequent reports will increase the chance that the transaction will be carried back to the remote server quickly, so that it can be sync'd. Once sync'd, the transaction will propagate back to the fueling station via distributed-database operations, and eventually the fueling station will learn that it can discard the transaction.

FIG. 9 shows how the basic system 100 may be divided into physically separate modules which communicate with each other to implement the overall system functionality. Instead of a single device 100 comprising a short-range wireless transceiver 103, a computing device 107 and a switch 105, an embodiment may be configured as a first independent subsystem 900 a comprising a short-range wireless transceiver 903 and a computing device 907 a, which communicates with a second independent subsystem 900 b comprising a computing device 907 b and a switch 905. The computing devices 907 a and 907 b communicate with each other over a data transmission medium 920, and coordinate their activities as if 907 a and 907 b were a single computer. An advantage of this arrangement is that a third independent subsystem 910 b, comprising a computing device 917 b and a switch 915, can also cooperate with 900 a. In this embodiment, the functionality of two complete systems can be achieved with the expense of only one and one-half systems. Further savings can be achieved by installing additional “back half” systems, which all rely on a single 900 a for interacting with a user 140's portable communications device 130.

FIG. 10 shows a particular arrangement of equipment that may provide favorable characteristics at a fueling station. An embodiment may be used to improve the capabilities of a prior-art, multi-pump station where each pump is individually governed by a mechanical or electrical interlock such as a physical keyed lock or a PIN-keypad. (It is understood that such a site lacks broader data connectivity such as a telephone, satellite or Internet connection; and does not comprise infrastructure to support individual commercial transactions.) The pumps at such a site may nevertheless be electrically operated, so the site is provisioned with utility or locally-generated power at, e.g., 120 or 240 AC volts, and this power is distributed as necessary by suitable wiring.

The functional components of this embodiment are physically separated and reorganized as shown in FIG. 9. The main control portion 900 a includes a computing device 907 a and short-range wireless transceiver 903, which interact with a user's portable communications device as described previously. However, instead of coupling the computing device 907 a directly to a switch (FIG. 1, 105); in this arrangement, a power-line interface 1021 is provided to permit data communications between the computing device 907 a and other portions of the embodiment.

Data communications over power lines may proceed according to known equipment and procedures, see, for example, U.S. Pat. No. 7,064,654 to Berkman et al., the disclosure of which is incorporated by this reference. Generally speaking, power-line data communications involve coupling digital signaling data onto a power line such as a 120 or 240 VAC power line, by means of a transformer or similar device. The communication data is transmitted in a manner and at a level that does not materially affect the electrical-power carrying function of the power line. Another similar coupler at a different location along the power line can recover the signaling data and provide it to a digital data processing device such as a microprocessor or controller. By piggybacking digital data on a power line in this way, two physically-separated computers can communicate without requiring separate dedicated conductors or wireless (e.g. radio) equipment to support the communications.

Returning to FIG. 10, a second portion of the embodiment may be arranged as shown at 900 b. A second power line interface 1022 can recover signaling data placed on power conductor 1020 by power line interface 1021. (The power line interfaces are bi-directional; 1021 can transmit data to 1022, and 1022 can transmit data back to 1021.) The data recovered by power line interface 1022 is passed to another computing device 907 b, which controls an electrical switch 905. Switch 905 controls the supply of power to pump 1040, and thus the delivery of liquid 1050. Pump 1040 is of the simplest type: when power is turned on, it operates; and when power is turned off, it stops. Computing device 907 b is signaled to turn power on or off by computing device 907 a, which transmits suitable control signals via power line interfaces 1021 and 1022 over power line 1020.

An embodiment may also comprise a more-sophisticated pump such as 1060, shown in a third portion of an embodiment at 910 b. Pump 1060 may be a digitally-controlled, electrically operated pump that is continuously connected to a power source (1020, 1070), but it only operates upon receipt of a suitable digital or logical signal 1080. This signal is provided by computing device 917 b, under the control of messages from computing device 907 a which are transmitted via power line interfaces 1021 and 1023 over the same power line 1020 from which pump 1060 gets its power.

The organization of computing devices and pumps described above can even be extended to highly-capable fuel dispensers such as the one shown in subcomponent group 1000 b at 1090. A fuel dispenser 1090 can be signaled to enable or disable dispensing, but it can also measure the fuel thus dispensed and report back this quantity. Computing device 1007 b may communicate the information back to computing device 907 a via power line interfaces 1021 and 1024, and the information can be used in the manner previously described.

In embodiments like the one depicted in FIG. 10, the functions of computing device 107 and switch 105 in FIG. 1 are separated physically, and the direct control of switch 105 is replaced by control messages coupled onto and back off of a power line by a pair of cooperating power line interfaces. The portions of the embodiment identified at 900 a may be placed in a physically separate container from the portions identified at 900 b and/or 910 b and/or 1000 b. The components within each container communicate over the power line to which each container is connected. (Power to operate the components in a container may also be drawn from the power line.)

This arrangement of components works well for adding functionality to a multi-pump, prior-art filling station.

An embodiment of the invention may be a machine-readable medium, including without limitation a non-transient machine-readable medium, having stored thereon data and instructions to cause a programmable processor to perform operations as described above. In other embodiments, the operations might be performed by specific hardware components that contain hardwired logic. Those operations might alternatively be performed by any combination of programmed computer components and custom hardware components.

Instructions for a programmable processor may be stored in a form that is directly executable by the processor (“object” or “executable” form), or the instructions may be stored in a human-readable text form called “source code” that can be automatically processed by a development tool commonly known as a “compiler” to produce executable code. Instructions may also be specified as a difference or “delta” from a predetermined version of a basic source code. The delta (also called a “patch”) can be used to prepare instructions to implement an embodiment of the invention, starting with a commonly-available source code package that does not contain an embodiment.

In some embodiments, the instructions for a programmable processor may be treated as data and used to modulate a carrier signal, which can subsequently be sent to a remote receiver, where the signal is demodulated to recover the instructions, and the instructions are executed to implement the methods of an embodiment at the remote receiver. In the vernacular, such modulation and transmission are known as “serving” the instructions, while receiving and demodulating are often called “downloading.” In other words, one embodiment “serves” (i.e., encodes and sends) the instructions of an embodiment to a client, often over a distributed data network like the Internet. The instructions thus transmitted can be saved on a hard disk or other data storage device at the receiver to create another embodiment of the invention, meeting the description of a non-transient machine-readable medium storing data and instructions to perform some of the operations discussed above. Compiling (if necessary) and executing such an embodiment at the receiver may result in the receiver performing operations according to a third embodiment.

In the preceding description, numerous details were set forth. It will be apparent, however, to one skilled in the art, that the present invention may be practiced without some of these specific details. In some instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.

Some portions of the detailed descriptions may have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the preceding discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

The present invention also relates to apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, including without limitation any type of disk including floppy disks, optical disks, compact disc read-only memory (“CD-ROM”), and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), eraseable, programmable read-only memories (“EPROMs”), electrically-eraseable read-only memories (“EEPROMs”), magnetic or optical cards, or any type of media suitable for storing computer instructions.

The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will be recited in the claims below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.

The applications of the present invention have been described largely by reference to specific examples and in terms of particular allocations of functionality to certain hardware and/or software components. However, those of skill in the art will recognize that liquid fuel and other products can also be dispensed and accounted for by software and hardware that distribute the functions of embodiments of this invention differently than herein described. Such variations and implementations are understood to be captured according to the following claims. 

We claim:
 1. A fuel-dispensing and accounting system operated by cooperation among a plurality of devices, comprising: a first physical enclosure containing a first computing device coupled to a short-range wireless transceiver and a first power line interface; and a second, separate physical enclosure containing a second computing device coupled to a second power line interface and an electrical switch, wherein the first and second power line interfaces are coupled to a common power line; the first and second computing devices obtain operating power from the common power line; the first computing device operates under control of first data and instructions to perform operations comprising: establishing a data connection with a user device over the short-range wireless transceiver; receiving a vending authorization from the user device; and transmitting a switch control signal through the first power line interface onto the common power line; and the second computing device operates under control of second data and instructions to perform operations comprising: receiving the switch control signal through the second power line interface from the common power line; and activating the electrical switch in accordance with the switch control signal, and wherein activating the electrical switch causes electrical power to be communicated from the common power line through the electrical switch to activate a pump.
 2. The fuel-dispensing and accounting system of claim 1, further comprising: a pump connected to the electrical switch, said pump to operate when the electrical switch is activated.
 3. A fuel-dispensing and accounting system operated by cooperation among a plurality of devices, comprising: a first physical enclosure containing a first computing device coupled to a short-range wireless transceiver and a first power line interface; and a second, separate physical enclosure containing a second computing device coupled to a second power line interface and a digitally-controlled, electrically operated pump, wherein the first and second power line interfaces and the pump are coupled to a common power line; the first and second computing devices and the pump obtain operating power from the common power line; the first computing device operates under control of first data and instructions to perform operations comprising: establishing a data connection with a user device over the short-range wireless transceiver; receiving a vending authorization from the user device; and transmitting a switch control signal through the first power line interface onto the common power line; and the second computing device operates under control of second data and instructions to perform operations comprising: receiving the switch control signal through the second power line interface from the common power line; and forwarding the switch control signal to the digitally-controlled, electrically-operated pump to activate said pump.
 4. The fuel-dispensing and accounting system of claim 3, further comprising: a digitally-controlled, electrically-operated pump coupled to the second computing device, said pump to receive the switch control signal and operate in accordance therewith.
 5. The fuel-dispensing and accounting system of claim 3 wherein the digitally-controlled, electrically-operated pump is a fuel dispenser that emits a message containing a quantity of fuel dispensed in accordance with the switch control signal, the first data and instructions and second data and instructions causing further operations comprising: receiving the message at the second computing device; and forwarding the message from the second computing device to the first computing device by communications between the second power line interface and the first power line interface. 